<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>react体验</title>
  <!-- 引入react库文件 -->
  <!-- react核心库文件，生成虚拟dom和提供相关react操作的api方法 -->
  <script src="./js/react.js"></script>
  <!-- 把虚拟dom转为真实对应的应用端真实dom -->
  <script src="./js/react-dom.js"></script>
  <!-- 引入babel库文件，jsx转为js -->
  <script src="./js/babel.js"></script>
</head>

<body>
  <!-- 挂载点 -->
  <div id="root"></div>

  <script type="text/babel">
    // 声明的数据
    let state = {
      username: '张三',
      age: 22
    }

    const fn = () => '我是一个方法'

    // jsx环境  表达式
    const vnode = (
      <div>
        {/* 变量的绑定 -- jsx中的表达式是写在【单花括号】中 */}
        <div>{state.username}</div>
        {/* 字符串拼接 */}
        <div>{'a -- ' + 'b'}</div>
        {/* 运算 */}
        <div>{1 + 1}</div>
        {/* 三目运算 */}
        <div>{state.age <= 20 ? '少年' : '老年'}</div>
        {/* jsx中可以直接写jsx */}
        <div>{state.age <= 20 ? <h3>少年</h3> : <h1>老年</h1>}</div>
        {/* 调用函数或方法 */}
        <div>{fn()}</div>
        <div>{'我是一个方法'.substring(0, 2) + '...'}</div>
      </div>
    )

    // 把对应转为真实的dom，挂载到页面的节点中
    ReactDOM.render(vnode, document.querySelector('#root'))
  </script>

</body>

</html>